home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/perl
-
- @W3M = split(' ', $ENV{'W3MMAN_W3M'} || 'w3m');
- $ENV{'W3MMAN_MAN'} ||= '/usr/bin/man';
- $SCRIPT = 'file:///$LIB/w3mman2html.cgi';
-
- sub usage {
- ($_ = $0) =~ s@.*/@@;
- print STDERR "$_ [-M <path>] [[<section>] <command>]\n";
- print STDERR "$_ [-M <path>] [-k <keyword>]\n";
- print STDERR "$_ [-l <file>]\n";
- exit 1;
- }
-
- $query = "";
- while (@ARGV) {
- $_ = shift @ARGV;
- if (/^-M$/) {
- @ARGV || &usage();
- $ENV{'MANPATH'} = shift @ARGV;
- } elsif (/^-k$/) {
- @ARGV || &usage();
- $query = "?keyword=" . &form_encode(shift @ARGV);
- } elsif (/^-l$/) {
- @ARGV || &usage();
- $query = "?quit=ok&local=" . &form_encode(shift @ARGV);
- $query .= "&pwd=" . &form_encode($ENV{'PWD'});
- } elsif (/^-/) {
- &usage();
- } elsif (/^\d/ || $_ eq 'n') {
- @ARGV || &usage();
- $query = "?quit=ok&man=" . &form_encode(shift @ARGV);
- $query .= "§ion=" . &form_encode($_);
- } else {
- $query = "?quit=ok&man=" . &form_encode($_);
- }
- }
-
- exec @W3M, "$SCRIPT$query";
-
- sub form_encode {
- local($_) = @_;
- s/[\000-\040\+:#?&%<>"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg;
- return $_;
- }
-
-